use crate::widgets::watchpoints::WatchpointType;
use snow_core::bus::Address;

pub static TRAPS: [(u16, &str); 872] = [
    // QuickDraw
    (0xA817, "CopyMask"),
    (0xA837, "MeasureText"),
    (0xA836, "GetMaskTable"),
    (0xA838, "CalcMask"),
    (0xA839, "SeedFill"),
    (0xA850, "InitCursor"),
    (0xA851, "SetCursor"),
    (0xA852, "HideCursor"),
    (0xA853, "ShowCursor"),
    (0xA855, "ShieldCursor"),
    (0xA856, "ObscureCursor"),
    (0xA858, "BitAnd"),
    (0xA859, "BitXOr"),
    (0xA85A, "BitNot"),
    (0xA85B, "BitOr"),
    (0xA85C, "BitShift"),
    (0xA85D, "BitTst"),
    (0xA85E, "BitSet"),
    (0xA85F, "BitClr"),
    (0xA861, "Random"),
    (0xA862, "ForeColor"),
    (0xA863, "BackColor"),
    (0xA864, "ColorBit"),
    (0xA865, "GetPixel"),
    (0xA866, "StuffHex"),
    (0xA867, "LongMul"),
    (0xA868, "FixMul"),
    (0xA869, "FixRatio"),
    (0xA86A, "HiWord"),
    (0xA86B, "LoWord"),
    (0xA86C, "FixRound"),
    (0xA86D, "InitPort"),
    (0xA86E, "InitGraf"),
    (0xA86F, "OpenPort"),
    (0xA870, "LocalToGlobal"),
    (0xA871, "GlobalToLocal"),
    (0xA872, "GrafDevice"),
    (0xA873, "SetPort"),
    (0xA874, "GetPort"),
    (0xA875, "SetPBits"),
    (0xA876, "PortSize"),
    (0xA877, "MovePortTo"),
    (0xA878, "SetOrigin"),
    (0xA879, "SetClip"),
    (0xA87A, "GetClip"),
    (0xA87B, "ClipRect"),
    (0xA87C, "BackPat"),
    (0xA87D, "ClosePort"),
    (0xA87E, "AddPt"),
    (0xA87F, "SubPt"),
    (0xA880, "SetPt"),
    (0xA881, "EqualPt"),
    (0xA882, "StdText"),
    (0xA883, "DrawChar"),
    (0xA884, "DrawString"),
    (0xA885, "DrawText"),
    (0xA886, "TextWidth"),
    (0xA887, "TextFont"),
    (0xA888, "TextFace"),
    (0xA889, "TextMode"),
    (0xA88A, "TextSize"),
    (0xA88B, "GetFontInfo"),
    (0xA88C, "StringWidth"),
    (0xA88D, "CharWidth"),
    (0xA88E, "SpaceExtra"),
    (0xA890, "StdLine"),
    (0xA891, "LineTo"),
    (0xA892, "Line"),
    (0xA893, "MoveTo"),
    (0xA894, "Move"),
    (0xA895, "ShutDown"),
    (0xA896, "HidePen"),
    (0xA897, "ShowPen"),
    (0xA898, "GetPenState"),
    (0xA899, "SetPenState"),
    (0xA89A, "GetPen"),
    (0xA89B, "PenSize"),
    (0xA89C, "PenMode"),
    (0xA89D, "PenPat"),
    (0xA89E, "PenNormal"),
    (0xA89F, "Unimplemented"),
    (0xA8A0, "StdRect"),
    (0xA8A1, "FrameRect"),
    (0xA8A2, "PaintRect"),
    (0xA8A3, "EraseRect"),
    (0xA8A4, "InverRect"),
    (0xA8A5, "FillRect"),
    (0xA8A6, "EqualRect"),
    (0xA8A7, "SetRect"),
    (0xA8A8, "OffsetRect"),
    (0xA8A9, "InsetRect"),
    (0xA8AA, "SectRect"),
    (0xA8AB, "UnionRect"),
    (0xA8AC, "Pt2Rect"),
    (0xA8AD, "PtInRect"),
    (0xA8AE, "EmptyRect"),
    (0xA8AF, "StdRRect"),
    (0xA8B0, "FrameRoundRect"),
    (0xA8B1, "PaintRoundRect"),
    (0xA8B2, "EraseRoundRect"),
    (0xA8B3, "InverRoundRect"),
    (0xA8B4, "FillRoundRect"),
    (0xA8B6, "StdOval"),
    (0xA8B7, "FrameOval"),
    (0xA8B8, "PaintOval"),
    (0xA8B9, "EraseOval"),
    (0xA8BA, "InvertOval"),
    (0xA8BB, "FillOval"),
    (0xA8BC, "SlopeFromAngle"),
    (0xA8BD, "StdArc"),
    (0xA8BE, "FrameArc"),
    (0xA8BF, "PaintArc"),
    (0xA8C0, "EraseArc"),
    (0xA8C1, "InvertArc"),
    (0xA8C2, "FillArc"),
    (0xA8C3, "PtToAngle"),
    (0xA8C4, "AngleFromSlope"),
    (0xA8C5, "StdPoly"),
    (0xA8C6, "FramePoly"),
    (0xA8C7, "PaintPoly"),
    (0xA8C8, "ErasePoly"),
    (0xA8C9, "InvertPoly"),
    (0xA8CA, "FillPoly"),
    (0xA8CB, "OpenPoly"),
    (0xA8CC, "ClosePgon"),
    (0xA8CC, "ClosePoly"),
    (0xA8CD, "KillPoly"),
    (0xA8CE, "OffsetPoly"),
    (0xA8CF, "PackBits"),
    (0xA8D0, "UnpackBits"),
    (0xA8D1, "StdRgn"),
    (0xA8D2, "FrameRgn"),
    (0xA8D3, "PaintRgn"),
    (0xA8D4, "EraseRgn"),
    (0xA8D5, "InverRgn"),
    (0xA8D6, "FillRgn"),
    (0xA8D7, "BitMapRgn"),
    (0xA8D7, "BitMapToRegion"),
    (0xA8D8, "NewRgn"),
    (0xA8D9, "DisposRgn"),
    (0xA8D9, "DisposeRgn"),
    (0xA8DA, "OpenRgn"),
    (0xA8DB, "CloseRgn"),
    (0xA8DC, "CopyRgn"),
    (0xA8DD, "SetEmptyRgn"),
    (0xA8DE, "SetRecRgn"),
    (0xA8DF, "RectRgn"),
    (0xA8E0, "OfsetRgn"),
    (0xA8E0, "OffsetRgn"),
    (0xA8E1, "InsetRgn"),
    (0xA8E2, "EmptyRgn"),
    (0xA8E3, "EqualRgn"),
    (0xA8E4, "SectRgn"),
    (0xA8E5, "UnionRgn"),
    (0xA8E6, "DiffRgn"),
    (0xA8E7, "XOrRgn"),
    (0xA8E8, "PtInRgn"),
    (0xA8E9, "RectInRgn"),
    (0xA8EA, "SetStdProcs"),
    (0xA8EB, "StdBits"),
    (0xA8EC, "CopyBits"),
    (0xA8ED, "StdTxMeas"),
    (0xA8EE, "StdGetPic"),
    (0xA8EF, "ScrollRect"),
    (0xA8F0, "StdPutPic"),
    (0xA8F1, "StdComment"),
    (0xA8F2, "PicComment"),
    (0xA8F3, "OpenPicture"),
    (0xA8F4, "ClosePicture"),
    (0xA8F5, "KillPicture"),
    (0xA8F6, "DrawPicture"),
    (0xA8F7, "Layout"),
    (0xA8F8, "ScalePt"),
    (0xA8F9, "MapPt"),
    (0xA8FA, "MapRect"),
    (0xA8FB, "MapRgn"),
    (0xA8FC, "MapPoly"),
    // Toolbox
    (0xA80D, "Count1Resources"),
    (0xA80E, "Get1IxResource"),
    (0xA80F, "Get1IxType"),
    (0xA810, "Unique1ID"),
    (0xA811, "TESelView"),
    (0xA812, "TEPinScroll"),
    (0xA813, "TEAutoView"),
    (0xA816, "Pack8"),
    (0xA818, "FixATan2"),
    (0xA819, "XMunger"),
    (0xA81A, "HOpenResFile"),
    (0xA81B, "HCreateResFile"),
    (0xA81C, "Count1Types"),
    (0xA81F, "Get1Resource"),
    (0xA820, "Get1NamedResource"),
    (0xA821, "MaxSizeRsrc"),
    (0xA826, "InsMenuItem"),
    (0xA826, "InsertMenuItem"),
    (0xA827, "HideDItem"),
    (0xA827, "HideDialogItem"),
    (0xA828, "ShowDItem"),
    (0xA828, "ShowDialogItem"),
    (0xA829, "LayerDispatch"),
    (0xA82B, "Pack9"),
    (0xA82C, "Pack10"),
    (0xA82D, "Pack11"),
    (0xA82E, "Pack12"),
    (0xA82F, "Pack13"),
    (0xA830, "Pack14"),
    (0xA831, "Pack15"),
    (0xA833, "ScrnBitMap"),
    (0xA834, "SetFScaleDisable"),
    (0xA835, "FontMetrics"),
    (0xA83A, "ZoomWindow"),
    (0xA83B, "TrackBox"),
    (0xA8FD, "PrGlue"),
    (0xA8FE, "InitFonts"),
    (0xA8FF, "GetFName"),
    (0xA900, "GetFNum"),
    (0xA901, "FMSwapFont"),
    (0xA902, "RealFont"),
    (0xA903, "SetFontLock"),
    (0xA904, "DrawGrowIcon"),
    (0xA905, "DragGrayRgn"),
    (0xA906, "NewString"),
    (0xA907, "SetString"),
    (0xA908, "ShowHide"),
    (0xA909, "CalcVis"),
    (0xA90A, "CalcVBehind"),
    (0xA90B, "ClipAbove"),
    (0xA90C, "PaintOne"),
    (0xA90D, "PaintBehind"),
    (0xA90E, "SaveOld"),
    (0xA90F, "DrawNew"),
    (0xA910, "GetWMgrPort"),
    (0xA911, "CheckUpDate"),
    (0xA912, "InitWindows"),
    (0xA913, "NewWindow"),
    (0xA914, "DisposWindow"),
    (0xA914, "DisposeWindow"),
    (0xA915, "ShowWindow"),
    (0xA916, "HideWindow"),
    (0xA917, "GetWRefCon"),
    (0xA918, "SetWRefCon"),
    (0xA919, "GetWTitle"),
    (0xA91A, "SetWTitle"),
    (0xA91B, "MoveWindow"),
    (0xA91C, "HiliteWindow"),
    (0xA91D, "SizeWindow"),
    (0xA91E, "TrackGoAway"),
    (0xA91F, "SelectWindow"),
    (0xA920, "BringToFront"),
    (0xA921, "SendBehind"),
    (0xA922, "BeginUpDate"),
    (0xA923, "EndUpDate"),
    (0xA924, "FrontWindow"),
    (0xA925, "DragWindow"),
    (0xA926, "DragTheRgn"),
    (0xA927, "InvalRgn"),
    (0xA928, "InvalRect"),
    (0xA929, "ValidRgn"),
    (0xA92A, "ValidRect"),
    (0xA92B, "GrowWindow"),
    (0xA92C, "FindWindow"),
    (0xA92D, "CloseWindow"),
    (0xA92E, "SetWindowPic"),
    (0xA92F, "GetWindowPic"),
    (0xA930, "InitMenus"),
    (0xA931, "NewMenu"),
    (0xA932, "DisposMenu"),
    (0xA932, "DisposeMenu"),
    (0xA933, "AppendMenu"),
    (0xA934, "ClearMenuBar"),
    (0xA935, "InsertMenu"),
    (0xA936, "DeleteMenu"),
    (0xA937, "DrawMenuBar"),
    (0xA81D, "InvalMenuBar"),
    (0xA938, "HiliteMenu"),
    (0xA939, "EnableItem"),
    (0xA93A, "DisableItem"),
    (0xA93B, "GetMenuBar"),
    (0xA93C, "SetMenuBar"),
    (0xA93D, "MenuSelect"),
    (0xA93E, "MenuKey"),
    (0xA93F, "GetItmIcon"),
    (0xA940, "SetItmIcon"),
    (0xA941, "GetItmStyle"),
    (0xA942, "SetItmStyle"),
    (0xA943, "GetItmMark"),
    (0xA944, "SetItmMark"),
    (0xA945, "CheckItem"),
    (0xA946, "GetItem"),
    (0xA946, "GetMenuItemText"),
    (0xA947, "SetItem"),
    (0xA947, "SetMenuItemText"),
    (0xA948, "CalcMenuSize"),
    (0xA949, "GetMHandle"),
    (0xA949, "GetMenuHandle"),
    (0xA94A, "SetMFlash"),
    (0xA94B, "PlotIcon"),
    (0xA94C, "FlashMenuBar"),
    (0xA94D, "AddResMenu"),
    (0xA94D, "AppendResMenu"),
    (0xA94E, "PinRect"),
    (0xA94F, "DeltaPoint"),
    (0xA950, "CountMItems"),
    (0xA951, "InsertResMenu"),
    (0xA952, "DelMenuItem"),
    (0xA952, "DeleteMenuItem"),
    (0xA953, "UpdtControl"),
    (0xA954, "NewControl"),
    (0xA955, "DisposControl"),
    (0xA955, "DisposeControl"),
    (0xA956, "KillControls"),
    (0xA957, "ShowControl"),
    (0xA958, "HideControl"),
    (0xA959, "MoveControl"),
    (0xA95A, "GetCRefCon"),
    (0xA95A, "GetControlReference"),
    (0xA95B, "SetCRefCon"),
    (0xA95B, "SetControlReference"),
    (0xA95C, "SizeControl"),
    (0xA95D, "HiliteControl"),
    (0xA95E, "GetCTitle"),
    (0xA95E, "GetControlTitle"),
    (0xA95F, "SetCTitle"),
    (0xA95F, "SetControlTitle"),
    (0xA960, "GetCtlValue"),
    (0xA960, "GetControlValue"),
    (0xA961, "GetMinCtl"),
    (0xA961, "GetControlMinimum"),
    (0xA962, "GetMaxCtl"),
    (0xA962, "GetControlMaximum"),
    (0xA963, "SetCtlValue"),
    (0xA963, "SetControlValue"),
    (0xA964, "SetMinCtl"),
    (0xA964, "SetControlMinimum"),
    (0xA965, "SetMaxCtl"),
    (0xA965, "SetControlMaximum"),
    (0xA966, "TestControl"),
    (0xA967, "DragControl"),
    (0xA968, "TrackControl"),
    (0xA969, "DrawControls"),
    (0xA96A, "GetCtlAction"),
    (0xA96A, "GetControlAction"),
    (0xA96B, "SetCtlAction"),
    (0xA96B, "SetControlAction"),
    (0xA96C, "FindControl"),
    (0xA96D, "Draw1Control"),
    (0xA96E, "Dequeue"),
    (0xA96F, "Enqueue"),
    (0xA860, "WaitNextEvent"),
    (0xA970, "GetNextEvent"),
    (0xA971, "EventAvail"),
    (0xA972, "GetMouse"),
    (0xA973, "StillDown"),
    (0xA974, "Button"),
    (0xA975, "TickCount"),
    (0xA976, "GetKeys"),
    (0xA977, "WaitMouseUp"),
    (0xA978, "UpdtDialog"),
    (0xA97B, "InitDialogs"),
    (0xA97C, "GetNewDialog"),
    (0xA97D, "NewDialog"),
    (0xA97E, "SelIText"),
    (0xA97E, "SelectDialogItemText"),
    (0xA97F, "IsDialogEvent"),
    (0xA980, "DialogSelect"),
    (0xA981, "DrawDialog"),
    (0xA982, "CloseDialog"),
    (0xA983, "DisposDialog"),
    (0xA983, "DisposeDialog"),
    (0xA984, "FindDItem"),
    (0xA984, "FindDialogItem"),
    (0xA985, "Alert"),
    (0xA986, "StopAlert"),
    (0xA987, "NoteAlert"),
    (0xA988, "CautionAlert"),
    (0xA98B, "ParamText"),
    (0xA98C, "ErrorSound"),
    (0xA98D, "GetDItem"),
    (0xA98D, "GetDialogItem"),
    (0xA98E, "SetDItem"),
    (0xA98E, "SetDialogItem"),
    (0xA98F, "SetIText"),
    (0xA98F, "SetDialogItemText"),
    (0xA990, "GetIText"),
    (0xA990, "GetDialogItemText"),
    (0xA991, "ModalDialog"),
    (0xA992, "DetachResource"),
    (0xA993, "SetResPurge"),
    (0xA994, "CurResFile"),
    (0xA995, "InitResources"),
    (0xA996, "RsrcZoneInit"),
    (0xA997, "OpenResFile"),
    (0xA998, "UseResFile"),
    (0xA999, "UpdateResFile"),
    (0xA99A, "CloseResFile"),
    (0xA99B, "SetResLoad"),
    (0xA99C, "CountResources"),
    (0xA99D, "GetIndResource"),
    (0xA99E, "CountTypes"),
    (0xA99F, "GetIndType"),
    (0xA9A0, "GetResource"),
    (0xA9A1, "GetNamedResource"),
    (0xA9A2, "LoadResource"),
    (0xA9A3, "ReleaseResource"),
    (0xA9A4, "HomeResFile"),
    (0xA9A5, "SizeRsrc"),
    (0xA9A6, "GetResAttrs"),
    (0xA9A7, "SetResAttrs"),
    (0xA9A8, "GetResInfo"),
    (0xA9A9, "SetResInfo"),
    (0xA9AA, "ChangedResource"),
    (0xA9AB, "AddResource"),
    (0xA9AC, "AddReference"),
    (0xA9AD, "RmveResource"),
    (0xA9AE, "RmveReference"),
    (0xA9AF, "ResError"),
    (0xA9B0, "WriteResource"),
    (0xA9B1, "CreateResFile"),
    (0xA9B2, "SystemEvent"),
    (0xA9B3, "SystemClick"),
    (0xA9B4, "SystemTask"),
    (0xA9B5, "SystemMenu"),
    (0xA9B6, "OpenDeskAcc"),
    (0xA9B7, "CloseDeskAcc"),
    (0xA9B8, "GetPattern"),
    (0xA9B9, "GetCursor"),
    (0xA9BA, "GetString"),
    (0xA9BB, "GetIcon"),
    (0xA9BC, "GetPicture"),
    (0xA9BD, "GetNewWindow"),
    (0xA9BE, "GetNewControl"),
    (0xA9BF, "GetRMenu"),
    (0xA9C0, "GetNewMBar"),
    (0xA9C1, "UniqueID"),
    (0xA9C2, "SysEdit"),
    (0xA9C4, "OpenRFPerm"),
    (0xA9C5, "RsrcMapEntry"),
    (0xA9C6, "Secs2Date"),
    (0xA9C6, "SecondsToDate"),
    (0xA9C7, "Date2Secs"),
    (0xA9C7, "DateToSeconds"),
    (0xA9C8, "SysBeep"),
    (0xA9C9, "SysError"),
    (0xA9CA, "PutIcon"),
    (0xA9E0, "Munger"),
    (0xA9E1, "HandToHand"),
    (0xA9E2, "PtrToXHand"),
    (0xA9E3, "PtrToHand"),
    (0xA9E4, "HandAndHand"),
    (0xA9E5, "InitPack"),
    (0xA9E6, "InitAllPacks"),
    (0xA9E7, "Pack0"),
    (0xA9E8, "Pack1"),
    (0xA9E9, "Pack2"),
    (0xA9EA, "Pack3"),
    (0xA9EB, "FP68K"),
    (0xA9EB, "Pack4"),
    (0xA9EC, "Elems68K"),
    (0xA9EC, "Pack5"),
    (0xA9ED, "Pack6"),
    (0xA9EE, "DECSTR68K"),
    (0xA9EE, "Pack7"),
    (0xA9EF, "PtrAndHand"),
    (0xA9F0, "LoadSeg"),
    (0xA9F1, "UnLoadSeg"),
    (0xA9F2, "Launch"),
    (0xA9F3, "Chain"),
    (0xA9F4, "ExitToShell"),
    (0xA9F5, "GetAppParms"),
    (0xA9F6, "GetResFileAttrs"),
    (0xA9F7, "SetResFileAttrs"),
    (0xA9F8, "MethodDispatch"),
    (0xA9F9, "InfoScrap"),
    (0xA9FA, "UnlodeScrap"),
    (0xA9FA, "UnloadScrap"),
    (0xA9FB, "LodeScrap"),
    (0xA9FB, "LoadScrap"),
    (0xA9FC, "ZeroScrap"),
    (0xA9FD, "GetScrap"),
    (0xA9FE, "PutScrap"),
    (0xA9FF, "Debugger"),
    (0xABEB, "DisplayDispatch"),
    (0xABC9, "IconDispatch"),
    (0xABFF, "DebugStr"),
    // Resource Manager
    (0xA822, "ResourceDispatch"),
    // PPCToolbox
    (0xA0DD, "PPC"),
    // Alias Manager
    (0xA823, "AliasDispatch"),
    // Device Manager
    (0xA000, "Open"),
    (0xA001, "Close"),
    (0xA002, "Read"),
    (0xA003, "Write"),
    (0xA004, "Control"),
    (0xA005, "Status"),
    (0xA006, "KillIO"),
    (0xA007, "GetVolInfo"),
    (0xA008, "Create"),
    (0xA009, "Delete"),
    (0xA00A, "OpenRF"),
    (0xA00B, "Rename"),
    (0xA00C, "GetFileInfo"),
    (0xA00D, "SetFileInfo"),
    (0xA00E, "UnmountVol"),
    (0xA20E, "HUnmountVol"),
    (0xA00F, "MountVol"),
    (0xA010, "Allocate"),
    (0xA011, "GetEOF"),
    (0xA012, "SetEOF"),
    (0xA013, "FlushVol"),
    (0xA014, "GetVol"),
    (0xA015, "SetVol"),
    (0xA016, "FInitQueue"),
    (0xA017, "Eject"),
    (0xA018, "GetFPos"),
    (0xA041, "SetFilLock"),
    (0xA042, "RstFilLock"),
    (0xA043, "SetFilType"),
    (0xA044, "SetFPos"),
    (0xA045, "FlushFile"),
    (0xA200, "HOpen"),
    (0xA207, "HGetVInfo"),
    (0xA208, "HCreate"),
    (0xA209, "HDelete"),
    (0xA20A, "HOpenRF"),
    (0xA20B, "HRename"),
    (0xA20C, "HGetFileInfo"),
    (0xA20D, "HSetFileInfo"),
    (0xA210, "AllocContig"),
    (0xA215, "HSetVol"),
    (0xA214, "HGetVol"),
    (0xA241, "HSetFLock"),
    (0xA242, "HRstFLock"),
    (0xA060, "FSDispatch"),
    (0xA260, "HFSDispatch"),
    (0xAA52, "HighLevelFSDispatch"),
    // Memory Manager
    (0xA019, "InitZone"),
    (0xA11A, "GetZone"),
    (0xA01B, "SetZone"),
    (0xA01C, "FreeMem"),
    (0xA11D, "MaxMem"),
    (0xA11E, "NewPtr"),
    (0xA51E, "NewPtrSys"),
    (0xA31E, "NewPtrClear"),
    (0xA71E, "NewPtrSysClear"),
    (0xA01F, "DisposPtr"),
    (0xA01F, "DisposePtr"),
    (0xA020, "SetPtrSize"),
    (0xA021, "GetPtrSize"),
    (0xA122, "NewHandle"),
    (0xA322, "NewHandleClear"),
    (0xA023, "DisposHandle"),
    (0xA023, "DisposeHandle"),
    (0xA024, "SetHandleSize"),
    (0xA025, "GetHandleSize"),
    (0xA126, "HandleZone"),
    (0xA027, "ReallocHandle"),
    (0xA128, "RecoverHandle"),
    (0xA029, "HLock"),
    (0xA02A, "HUnlock"),
    (0xA02B, "EmptyHandle"),
    (0xA02C, "InitApplZone"),
    (0xA02D, "SetApplLimit"),
    (0xA02E, "BlockMove"),
    (0xA22E, "BlockMoveData"),
    (0xA05C, "MemoryDispatch"),
    (0xA15C, "MemoryDispatchA0Result"),
    (0xA08F, "DeferUserFn"),
    (0xA08D, "DebugUtil"),
    // Event Manager
    (0xA02F, "PostEvent"),
    (0xA12F, "PPostEvent"),
    (0xA030, "OSEventAvail"),
    (0xA031, "GetOSEvent"),
    (0xA032, "FlushEvents"),
    (0xA033, "VInstall"),
    (0xA034, "VRemove"),
    (0xA035, "OffLine"),
    (0xA036, "MoreMasters"),
    (0xA038, "WriteParam"),
    (0xA039, "ReadDateTime"),
    (0xA03A, "SetDateTime"),
    (0xA03B, "Delay"),
    (0xA03C, "CmpString"),
    (0xA03D, "DrvrInstall"),
    (0xA03E, "DrvrRemove"),
    (0xA03F, "InitUtil"),
    (0xA040, "ResrvMem"),
    (0xA146, "GetTrapAddress"),
    (0xA047, "SetTrapAddress"),
    (0xA346, "GetOSTrapAddress"),
    (0xA247, "SetOSTrapAddress"),
    (0xA746, "GetToolTrapAddress"),
    (0xA647, "SetToolTrapAddress"),
    (0xA746, "GetToolBoxTrapAddress"),
    (0xA647, "SetToolBoxTrapAddress"),
    (0xA148, "PtrZone"),
    (0xA049, "HPurge"),
    (0xA04A, "HNoPurge"),
    (0xA04B, "SetGrowZone"),
    (0xA04C, "CompactMem"),
    (0xA04D, "PurgeMem"),
    (0xA04E, "AddDrive"),
    (0xA04F, "RDrvrInstall"),
    (0xA056, "LwrString"),
    (0xA054, "UprString"),
    (0xA057, "SetApplBase"),
    (0xA198, "HWPriv"),
    // LwrString
    (0xA056, "LowerText"),
    (0xA256, "StripText"),
    (0xA456, "UpperText"),
    (0xA656, "StripUpperText"),
    //
    (0xA88F, "OSDispatch"),
    (0xA050, "RelString"),
    (0xA050, "CompareString"),
    (0xA051, "ReadXPRam"),
    (0xA052, "WriteXPRam"),
    (0xA058, "InsTime"),
    (0xA458, "InsXTime"),
    (0xA059, "RmvTime"),
    (0xA05A, "PrimeTime"),
    (0xA05B, "PowerOff"),
    (0xA061, "MaxBlock"),
    (0xA162, "PurgeSpace"),
    (0xA063, "MaxApplZone"),
    (0xA064, "MoveHHi"),
    (0xA065, "StackSpace"),
    (0xA166, "NewEmptyHandle"),
    (0xA067, "HSetRBit"),
    (0xA068, "HClrRBit"),
    (0xA069, "HGetState"),
    (0xA06A, "HSetState"),
    (0xA06C, "InitFS"),
    (0xA06D, "InitEvents"),
    (0xA055, "StripAddress"),
    (0xA091, "Translate24To32"),
    (0xA057, "SetAppBase"),
    (0xA05D, "SwapMMUMode"),
    (0xA06F, "SlotVInstall"),
    (0xA070, "SlotVRemove"),
    (0xA071, "AttachVBL"),
    (0xA072, "DoVBLTask"),
    (0xA075, "SIntInstall"),
    (0xA076, "SIntRemove"),
    (0xA077, "CountADBs"),
    (0xA078, "GetIndADB"),
    (0xA079, "GetADBInfo"),
    (0xA07A, "SetADBInfo"),
    (0xA07B, "ADBReInit"),
    (0xA07C, "ADBOp"),
    (0xA07D, "GetDefaultStartup"),
    (0xA07E, "SetDefaultStartup"),
    (0xA07F, "InternalWait"),
    (0xA80C, "RGetResource"),
    (0xA080, "GetVideoDefault"),
    (0xA081, "SetVideoDefault"),
    (0xA082, "DTInstall"),
    (0xA083, "SetOSDefault"),
    (0xA084, "GetOSDefault"),
    (0xA086, "IOPInfoAccess"),
    (0xA087, "IOPMsgRequest"),
    (0xA088, "IOPMoveData"),
    // Power Manager
    (0xA09F, "PowerDispatch"),
    (0xA085, "PMgrOp"),
    (0xA285, "IdleUpdate"),
    (0xA485, "IdleState"),
    (0xA685, "SerialPower"),
    (0xA08A, "Sleep"),
    (0xA28A, "SleepQInstall"),
    (0xA28A, "SlpQInstall"),
    (0xA48A, "SleepQRemove"),
    (0xA48A, "SlpQRemove"),
    // Comm toolbox
    (0xA08B, "CommToolboxDispatch"),
    (0xA090, "SysEnvirons"),
    // Egret Manager
    (0xA092, "EgretDispatch"),
    (0xA1AD, "Gestalt"),
    (0xA3AD, "NewGestalt"),
    (0xA5AD, "ReplaceGestalt"),
    (0xA7AD, "GetGestaltProcPtr"),
    (0xA808, "InitProcMenu"),
    (0xA84E, "GetItemCmd"),
    (0xA84F, "SetItemCmd"),
    (0xA80B, "PopUpMenuSelect"),
    (0xA9C3, "KeyTrans"),
    (0xA9C3, "KeyTranslate"),
    // Text Edit
    (0xA9CB, "TEGetText"),
    (0xA9CC, "TEInit"),
    (0xA9CD, "TEDispose"),
    (0xA9CE, "TextBox"),
    (0xA9CE, "TETextBox"),
    (0xA9CF, "TESetText"),
    (0xA9D0, "TECalText"),
    (0xA9D1, "TESetSelect"),
    (0xA9D2, "TENew"),
    (0xA9D3, "TEUpdate"),
    (0xA9D4, "TEClick"),
    (0xA9D5, "TECopy"),
    (0xA9D6, "TECut"),
    (0xA9D7, "TEDelete"),
    (0xA9D8, "TEActivate"),
    (0xA9D9, "TEDeactivate"),
    (0xA9DA, "TEIdle"),
    (0xA9DB, "TEPaste"),
    (0xA9DC, "TEKey"),
    (0xA9DD, "TEScroll"),
    (0xA9DE, "TEInsert"),
    (0xA9DF, "TESetJust"),
    (0xA9DF, "TESetAlignment"),
    (0xA83C, "TEGetOffset"),
    (0xA83D, "TEDispatch"),
    (0xA83E, "TEStyleNew"),
    // Color Quickdraw
    (0xAA00, "OpenCPort"),
    (0xAA01, "InitCPort"),
    (0xA87D, "CloseCPort"),
    (0xAA03, "NewPixMap"),
    (0xAA04, "DisposPixMap"),
    (0xAA04, "DisposePixMap"),
    (0xAA05, "CopyPixMap"),
    (0xAA06, "SetPortPix"),
    (0xAA07, "NewPixPat"),
    (0xAA08, "DisposPixPat"),
    (0xAA08, "DisposePixPat"),
    (0xAA09, "CopyPixPat"),
    (0xAA0A, "PenPixPat"),
    (0xAA0B, "BackPixPat"),
    (0xAA0C, "GetPixPat"),
    (0xAA0D, "MakeRGBPat"),
    (0xAA0E, "FillCRect"),
    (0xAA0F, "FillCOval"),
    (0xAA10, "FillCRoundRect"),
    (0xAA11, "FillCArc"),
    (0xAA12, "FillCRgn"),
    (0xAA13, "FillCPoly"),
    (0xAA14, "RGBForeColor"),
    (0xAA15, "RGBBackColor"),
    (0xAA16, "SetCPixel"),
    (0xAA17, "GetCPixel"),
    (0xAA18, "GetCTable"),
    (0xAA19, "GetForeColor"),
    (0xAA1A, "GetBackColor"),
    (0xAA1B, "GetCCursor"),
    (0xAA1C, "SetCCursor"),
    (0xAA1D, "AllocCursor"),
    (0xAA1E, "GetCIcon"),
    (0xAA1F, "PlotCIcon"),
    (0xAA20, "OpenCPicture"),
    (0xAA21, "OpColor"),
    (0xAA22, "HiliteColor"),
    (0xAA23, "CharExtra"),
    (0xAA24, "DisposCTable"),
    (0xAA24, "DisposeCTable"),
    (0xAA25, "DisposCIcon"),
    (0xAA25, "DisposeCIcon"),
    (0xAA26, "DisposCCursor"),
    (0xAA26, "DisposeCCursor"),
    (0xAA50, "SeedCFill"),
    (0xAA4F, "CalcCMask"),
    (0xAA51, "CopyDeepMask"),
    // Video devices
    (0xAA27, "GetMaxDevice"),
    (0xAA28, "GetCTSeed"),
    (0xAA29, "GetDeviceList"),
    (0xAA2A, "GetMainDevice"),
    (0xAA2B, "GetNextDevice"),
    (0xAA2C, "TestDeviceAttribute"),
    (0xAA2D, "SetDeviceAttribute"),
    (0xAA2E, "InitGDevice"),
    (0xAA2F, "NewGDevice"),
    (0xAA30, "DisposGDevice"),
    (0xAA30, "DisposeGDevice"),
    (0xAA31, "SetGDevice"),
    (0xAA32, "GetGDevice"),
    (0xABCA, "DeviceLoop"),
    // Color Manager
    (0xAA33, "Color2Index"),
    (0xAA34, "Index2Color"),
    (0xAA35, "InvertColor"),
    (0xAA36, "RealColor"),
    (0xAA37, "GetSubTable"),
    (0xAA38, "UpdatePixMap"),
    // Dialog Manager
    (0xAA4B, "NewCDialog"),
    (0xAA4B, "NewColorDialog"),
    (0xAA39, "MakeITable"),
    (0xAA3A, "AddSearch"),
    (0xAA3B, "AddComp"),
    (0xAA3C, "SetClientID"),
    (0xAA3D, "ProtectEntry"),
    (0xAA3E, "ReserveEntry"),
    (0xAA3F, "SetEntries"),
    (0xAA40, "QDError"),
    (0xAA49, "SaveEntries"),
    (0xAA4A, "RestoreEntries"),
    (0xAA4C, "DelSearch"),
    (0xAA4D, "DelComp"),
    (0xAA4E, "SetStdCProcs"),
    (0xABF8, "StdOpcodeProc"),
    // Toolbox (color)
    (0xAA41, "SetWinColor"),
    (0xAA42, "GetAuxWin"),
    (0xAA43, "SetCtlColor"),
    (0xAA43, "SetControlColor"),
    (0xAA44, "GetAuxCtl"),
    (0xAA44, "GetAuxiliaryControlRecord"),
    (0xAA45, "NewCWindow"),
    (0xAA46, "GetNewCWindow"),
    (0xAA47, "SetDeskCPat"),
    (0xAA48, "GetCWMgrPort"),
    (0xA809, "GetCVariant"),
    (0xA809, "GetControlVariant"),
    (0xA80A, "GetWVariant"),
    // Menu Manager (Color)
    (0xAA60, "DelMCEntries"),
    (0xAA60, "DeleteMCEntries"),
    (0xAA61, "GetMCInfo"),
    (0xAA62, "SetMCInfo"),
    (0xAA63, "DispMCInfo"),
    (0xAA63, "DisposeMCInfo"),
    (0xAA64, "GetMCEntry"),
    (0xAA65, "SetMCEntries"),
    // Menu Manager
    (0xAA66, "MenuChoice"),
    // Dialog Manager
    (0xAA67, "ModalDialogMenuSetup"),
    (0xAA68, "DialogDispatch"),
    // Font Manager
    (0xA814, "SetFractEnable"),
    (0xA854, "FontDispatch"),
    // Palette Manager
    (0xAA90, "InitPalettes"),
    (0xAA91, "NewPalette"),
    (0xAA92, "GetNewPalette"),
    (0xAA93, "DisposePalette"),
    (0xAA94, "ActivatePalette"),
    (0xAA95, "SetPalette"),
    (0xAA95, "NSetPalette"),
    (0xAA96, "GetPalette"),
    (0xAA97, "PmForeColor"),
    (0xAA98, "PmBackColor"),
    (0xAA99, "AnimateEntry"),
    (0xAA9A, "AnimatePalette"),
    (0xAA9B, "GetEntryColor"),
    (0xAA9C, "SetEntryColor"),
    (0xAA9D, "GetEntryUsage"),
    (0xAA9E, "SetEntryUsage"),
    (0xAA9F, "CTab2Palette"),
    (0xAAA0, "Palette2CTab"),
    (0xAAA1, "CopyPalette"),
    (0xAAA2, "PaletteDispatch"),
    // Sound Manager
    (0xA800, "SoundDispatch"),
    (0xA801, "SndDisposeChannel"),
    (0xA802, "SndAddModifier"),
    (0xA803, "SndDoCommand"),
    (0xA804, "SndDoImmediate"),
    (0xA805, "SndPlay"),
    (0xA806, "SndControl"),
    (0xA807, "SndNewChannel"),
    (0xA06E, "SlotManager"),
    (0xA8B5, "ScriptUtil"),
    (0xA815, "SCSIDispatch"),
    (0xA83F, "Long2Fix"),
    (0xA840, "Fix2Long"),
    (0xA841, "Fix2Frac"),
    (0xA842, "Frac2Fix"),
    (0xA843, "Fix2X"),
    (0xA844, "X2Fix"),
    (0xA845, "Frac2X"),
    (0xA846, "X2Frac"),
    (0xA847, "FracCos"),
    (0xA848, "FracSin"),
    (0xA849, "FracSqrt"),
    (0xA84A, "FracMul"),
    (0xA84B, "FracDiv"),
    (0xA84D, "FixDiv"),
    (0xA05E, "NMInstall"),
    (0xA05F, "NMRemove"),
    //
    (0xAB1D, "QDExtensions"),
    //
    (0xA84C, "UserDelay"),
    // Component Manager
    (0xA82A, "ComponentDispatch"),
    //
    (0xA89F, "InitDogCow"),
    (0xA89F, "EnableDogCow"),
    (0xA89F, "DisableDogCow"),
    (0xA89F, "Moof"),
    (0xAA52, "HFSPinaforeDispatch"),
];

pub static VECTORS: [(u32, &str); 49] = [
    // 000 Reset Initial Interrupt Stack Pointer
    (0x0004, "Reset"),
    (0x0008, "Bus Error"),
    (0x000C, "Address Error"),
    (0x0010, "Illegal Instruction"),
    (0x0014, "Integer Divide by Zero"),
    (0x0018, "CHK, CHK2 Instruction"),
    (0x001C, "FTRAPcc, TRAPcc, TRAPV instructions"),
    (0x0020, "Privilege Violation"),
    (0x0024, "Trace"),
    (0x0028, "A-line"),
    (0x002C, "F-line"),
    (0x0034, "Coprocessor Protocol Violation"),
    (0x0038, "Format error"),
    (0x003C, "Uninitialized Interrupt"),
    (0x0060, "Spurious Interrupt"),
    (0x0064, "Level 1 Interrupt Autovector"),
    (0x0068, "Level 2 Interrupt Autovector"),
    (0x006C, "Level 3 Interrupt Autovector"),
    (0x0070, "Level 4 Interrupt Autovector"),
    (0x0074, "Level 5 Interrupt Autovector"),
    (0x0078, "Level 6 Interrupt Autovector"),
    (0x007C, "Level 7 Interrupt Autovector"),
    (0x0080, "TRAP #0 instruction"),
    (0x0084, "TRAP #1 instruction"),
    (0x0088, "TRAP #2 instruction"),
    (0x008C, "TRAP #3 instruction"),
    (0x0090, "TRAP #4 instruction"),
    (0x0094, "TRAP #5 instruction"),
    (0x0098, "TRAP #6 instruction"),
    (0x009C, "TRAP #7 instruction"),
    (0x00A0, "TRAP #8 instruction"),
    (0x00A4, "TRAP #9 instruction"),
    (0x00A8, "TRAP #10 instruction"),
    (0x00AC, "TRAP #11 instruction"),
    (0x00B0, "TRAP #12 instruction"),
    (0x00B4, "TRAP #13 instruction"),
    (0x00B8, "TRAP #14 instruction"),
    (0x00BC, "TRAP #15 instruction"),
    (0x00C0, "FP Branch or Set on Unordered Condition"),
    (0x00C4, "FP Inexact Result"),
    (0x00C8, "FP Divide by Zero"),
    (0x00CC, "FP Underflow"),
    (0x00D0, "FP Operand Error"),
    (0x00D4, "FP Overflow"),
    (0x00D8, "FP Signaling NAN"),
    (0x00DC, "FP Unimplemented Data Type"),
    (0x00E0, "MMU Configuration Error"),
    (0x00E4, "MMU Illegal Operation Error"),
    (0x00E8, "MMU Access Level Violation Error"),
];

/// ROM/operating system common global variables
///
/// This information comes from the MacAlmanac II, version 1.0
/// MacAlmanacII is Copyright (C) 1985-1997 James H. Olson.
/// http://www.mac.linux-m68k.org/devel/macalmanac.php
pub static GLOBALS: [(&str, Address, WatchpointType, &str); 364] = [
    (
        "MonkeyLives",
        0x0100,
        WatchpointType::U16,
        "monkey lives if nonzero",
    ),
    (
        "ScrVRes",
        0x0102,
        WatchpointType::U16,
        "screen vertical dots/inch",
    ),
    (
        "ScrHRes",
        0x0104,
        WatchpointType::U16,
        "screen horizontal dots/inch",
    ),
    (
        "ScreenRow",
        0x0106,
        WatchpointType::U16,
        "rowBytes of screen",
    ),
    ("MemTop", 0x0108, WatchpointType::U32, "ptr to end of RAM"),
    (
        "BufPtr",
        0x010C,
        WatchpointType::U32,
        "ptr to end of jump table",
    ),
    (
        "StkLowPt",
        0x0110,
        WatchpointType::U32,
        "lowest stack pointer value as measured in VBL task",
    ),
    (
        "HeapEnd",
        0x0114,
        WatchpointType::U32,
        "ptr to end of application heap",
    ),
    (
        "TheZone",
        0x0118,
        WatchpointType::U32,
        "ptr to current heap zone",
    ),
    (
        "UTableBase",
        0x011C,
        WatchpointType::U32,
        "ptr to unit I/O table",
    ),
    (
        "MacJmp",
        0x0120,
        WatchpointType::U32,
        "ptr to jump vector table used by MacsBug",
    ),
    (
        "DskRtnAdr",
        0x0124,
        WatchpointType::U32,
        "temporary pointer used by Disk Driver",
    ),
    (
        "TwiggyVars",
        0x0128,
        WatchpointType::U32,
        "ptr to 'other' driver variables (Lisa 5.25\" drive)",
    ),
    (
        "PollRtnAddr",
        0x0128,
        WatchpointType::U32,
        "ptr to 'other' driver variables (Lisa 5.25\" drive)",
    ),
    (
        "DskVerify",
        0x012C,
        WatchpointType::U8,
        "used by Mac 3.5\" Disk Driver for read/verify",
    ),
    (
        "LoadTrap",
        0x012D,
        WatchpointType::U8,
        "trap before launch?",
    ),
    (
        "MmInOK",
        0x012E,
        WatchpointType::U8,
        "Initial Memory Manager checks ok?",
    ),
    (
        "DskWr11",
        0x012F,
        WatchpointType::U8,
        "try 1-1 disk writes?",
    ),
    (
        "CPUFlag",
        0x012F,
        WatchpointType::U8,
        "code for installed CPU: 0=68000, 1=68010, 2=68020, 3=68030",
    ),
    (
        "ApplLimit",
        0x0130,
        WatchpointType::U32,
        "address of application heap limit",
    ),
    (
        "SonyVars",
        0x0134,
        WatchpointType::U32,
        "ptr to Mac 3.5\" Disk Driver variables",
    ),
    ("PWMValue", 0x0138, WatchpointType::U16, "current PWM value"),
    (
        "PollStack",
        0x013A,
        WatchpointType::U32,
        "address of SCC poll data start stack location",
    ),
    (
        "PollProc",
        0x013E,
        WatchpointType::U32,
        "ptr to SCC poll data procedure",
    ),
    (
        "DskErr",
        0x0142,
        WatchpointType::U16,
        "disk routine result code",
    ),
    (
        "SysEvtMask",
        0x0144,
        WatchpointType::U16,
        "system event mask",
    ),
    (
        "SysEvtBuf",
        0x0146,
        WatchpointType::U32,
        "ptr to system event queue element buffer",
    ),
    (
        "EventQueue",
        0x014A,
        WatchpointType::U8,
        "event queue header",
    ),
    (
        "EvtBufCnt",
        0x0154,
        WatchpointType::U16,
        "maximum #of events in SysEvtBuf minus 1",
    ),
    ("RndSeed", 0x0156, WatchpointType::U32, "random number seed"),
    (
        "SysVersion",
        0x015A,
        WatchpointType::U16,
        "System file version number (e.g. System 4.1=$0410)",
    ),
    (
        "SEvtEnb",
        0x015C,
        WatchpointType::U8,
        "0 = SysEvent always returns FALSE",
    ),
    (
        "DSWndUpdate",
        0x015D,
        WatchpointType::U8,
        "GetNextEvent not to paint behind System error dialog?",
    ),
    (
        "FontFlag",
        0x015E,
        WatchpointType::U8,
        "font manager loop flag",
    ),
    ("Filler3", 0x015F, WatchpointType::U8, "1 byte of filler"),
    ("VBLQueue", 0x0160, WatchpointType::U8, "VBL queue header"),
    (
        "Ticks",
        0x016A,
        WatchpointType::U32,
        "Tick count: time since system startup (tick=1/60 sec)",
    ),
    (
        "MBTicks",
        0x016E,
        WatchpointType::U32,
        "tick count when mouse button was last pressed",
    ),
    (
        "MBState",
        0x0172,
        WatchpointType::U8,
        "current mouse button state",
    ),
    ("Tocks", 0x0173, WatchpointType::U8, "Lisa sub-tick count"),
    (
        "KeyMap",
        0x0174,
        WatchpointType::U8,
        "bitmap of the keyboard",
    ),
    (
        "KeypadMap",
        0x017C,
        WatchpointType::U32,
        "bitmap for numeric keypad (uses 18 bits)",
    ),
    (
        "KeyLast",
        0x0184,
        WatchpointType::U16,
        "ASCII code for last valid keycode",
    ),
    (
        "KeyTime",
        0x0186,
        WatchpointType::U32,
        "tickcount when KEYLAST was received",
    ),
    (
        "KeyRepTime",
        0x018A,
        WatchpointType::U32,
        "tick count when key was last repeated",
    ),
    (
        "KeyThresh",
        0x018E,
        WatchpointType::U16,
        "threshold for key repeat",
    ),
    (
        "KeyRepThresh",
        0x0190,
        WatchpointType::U16,
        "key repeat speed",
    ),
    (
        "Lv11DT",
        0x0192,
        WatchpointType::U32,
        "Level-1 secondary interrupt vector table (32 bytes)",
    ),
    (
        "Lv12DT",
        0x01B2,
        WatchpointType::U32,
        "Level-2 secondary interrupt vector table (32 bytes)",
    ),
    (
        "UnitNtryCnt",
        0x01D2,
        WatchpointType::U16,
        "count of entries in unit table",
    ),
    (
        "VIA",
        0x01D4,
        WatchpointType::U32,
        "base address of 6522 VIA chip ",
    ),
    (
        "SCCRd",
        0x01D8,
        WatchpointType::U32,
        "addr of Z8530 SCC chip (used when reading the chip)",
    ),
    (
        "SCCWr",
        0x01DC,
        WatchpointType::U32,
        "address of Z8530 SCC chip (used when writing the chip)",
    ),
    (
        "IWM",
        0x01E0,
        WatchpointType::U32,
        "base address of IWM chip (floppy drive controller)",
    ),
    (
        "scratch20",
        0x01E4,
        WatchpointType::U8,
        "general scratch area",
    ),
    (
        "SysParam",
        0x01F8,
        WatchpointType::U8,
        "System parameter RAM vars (PRAM info)",
    ),
    (
        "SPValid",
        0x01F8,
        WatchpointType::U8,
        "validation: $A8 if last write to clock chip was good",
    ),
    (
        "SPATalkA",
        0x01F9,
        WatchpointType::U8,
        "AppleTalk node ID for modem port",
    ),
    (
        "SPATalkB",
        0x01FA,
        WatchpointType::U8,
        "AppleTalk node ID for printer port",
    ),
    (
        "SPConfig",
        0x01FB,
        WatchpointType::U8,
        "serial-port-in-use flags for both ports",
    ),
    (
        "SPPortA",
        0x01FC,
        WatchpointType::U16,
        "modem port configuration (baud, parity, bits)",
    ),
    (
        "SPPortB",
        0x01FE,
        WatchpointType::U16,
        "printer port configuration (baud, parity, bits)",
    ),
    (
        "SPAlarm",
        0x0200,
        WatchpointType::U32,
        "alarm clock setting",
    ),
    (
        "SPFont",
        0x0204,
        WatchpointType::U16,
        "font number of application font minus 1",
    ),
    (
        "SPKbdPrint",
        0x0206,
        WatchpointType::U16,
        "auto-key threshold/rate and printer connection",
    ),
    (
        "SPKbd",
        0x0206,
        WatchpointType::U8,
        "auto-key threshold and rate",
    ),
    ("SPPrint", 0x0207, WatchpointType::U8, "printer connection"),
    (
        "SPVolClik",
        0x0208,
        WatchpointType::U16,
        "speaker volume; double click and caret flash times",
    ),
    ("SPVolCtl", 0x0208, WatchpointType::U8, "speaker volume"),
    (
        "SPClikCaret",
        0x0209,
        WatchpointType::U8,
        "double click and caret flash times",
    ),
    (
        "SPMisc",
        0x020A,
        WatchpointType::U8,
        "reserved for future use",
    ),
    (
        "SPMisc2",
        0x020B,
        WatchpointType::U8,
        "mouse tracking, startup floppy drive, menu blink",
    ),
    (
        "Time",
        0x020C,
        WatchpointType::U32,
        "current date/time (seconds since midnight 1 JAN 1904)",
    ),
    (
        "BootDrive",
        0x0210,
        WatchpointType::U16,
        "drive number of boot drive",
    ),
    (
        "BootDrive",
        0x0210,
        WatchpointType::U16,
        "working directory reference number of boot disk",
    ),
    (
        "JShell",
        0x0212,
        WatchpointType::U16,
        "journaling shell state",
    ),
    (
        "Filler3A",
        0x0214,
        WatchpointType::U16,
        "negative of vRefNum last seen by Standard File Package",
    ),
    (
        "SFSaveDisk",
        0x0214,
        WatchpointType::U16,
        "negative of vRefNum last seen by Standard File Package",
    ),
    (
        "KbdVars",
        0x0216,
        WatchpointType::U16,
        "Keyboard manager variables",
    ),
    (
        "KbdLast",
        0x0218,
        WatchpointType::U8,
        "ADB address of keyboard last used",
    ),
    (
        "JKybdTask",
        0x021A,
        WatchpointType::U32,
        "ptr to keyboard VBL task hook",
    ),
    (
        "KbdType",
        0x021E,
        WatchpointType::U8,
        "keyboard model number",
    ),
    (
        "AlarmState",
        0x021F,
        WatchpointType::U8,
        "alarm clock: Bit7=parity, Bit6=beeped, Bit0=enable",
    ),
    (
        "CurIOTrap",
        0x0220,
        WatchpointType::U16,
        "current I/O trap being executed",
    ),
    (
        "MemErr",
        0x0220,
        WatchpointType::U16,
        "Memory Manager error code",
    ),
    (
        "DiskVars",
        0x0222,
        WatchpointType::U8,
        "Disk driver variables (60 bytes)",
    ),
    (
        "FlEvtMask",
        0x025E,
        WatchpointType::U16,
        "mask of flushable events (FlushEvents)",
    ),
    (
        "SdVolume",
        0x0260,
        WatchpointType::U8,
        "Current speaker volume (bits 0 through 2 only)",
    ),
    ("SdEnable", 0x0261, WatchpointType::U8, "Sound enabled?"),
    (
        "SoundVars",
        0x0262,
        WatchpointType::U8,
        "Sound driver variables (32 bytes)",
    ),
    (
        "SoundPtr",
        0x0262,
        WatchpointType::U32,
        "pointer to 4-voice sound definition (SynthRec)",
    ),
    (
        "SoundBase",
        0x0266,
        WatchpointType::U32,
        "ptr to free-form sound definition (SynthRec)",
    ),
    (
        "SoundVBL",
        0x026A,
        WatchpointType::U8,
        "vertical retrace control element",
    ),
    (
        "SoundDCE",
        0x027A,
        WatchpointType::U32,
        "pointer to Sound Driver's device control entry",
    ),
    (
        "SoundActive",
        0x027E,
        WatchpointType::U8,
        "sound is active?",
    ),
    (
        "SoundLevel",
        0x027F,
        WatchpointType::U8,
        "current amplitude in 740-byte sound buffer",
    ),
    (
        "CurPitch",
        0x0280,
        WatchpointType::U16,
        "current value of COUNT in square-wave SynthRec",
    ),
    (
        "SoundLast",
        0x0282,
        WatchpointType::U32,
        "address past last sound variable",
    ),
    (
        "ROM85",
        0x028E,
        WatchpointType::U16,
        "holds a positive value if 128K or later ROM in Mac",
    ),
    (
        "PortAUse",
        0x0290,
        WatchpointType::U8,
        "Port A usage: if zero, port available",
    ),
    (
        "PortBUse",
        0x0291,
        WatchpointType::U8,
        "Port B usage: if zero, port available",
    ),
    (
        "ScreenVars",
        0x0292,
        WatchpointType::U8,
        "Screen driver variables (8 bytes)",
    ),
    (
        "JGNEFilter",
        0x029A,
        WatchpointType::U32,
        "ptr to GetNextEvent filter procedure",
    ),
    (
        "Key1Trans",
        0x029E,
        WatchpointType::U32,
        "ptr to keyboard translator procedure",
    ),
    (
        "Key2Trans",
        0x02A2,
        WatchpointType::U32,
        "ptr to numeric keypad translator procedure",
    ),
    (
        "SysZone",
        0x02A6,
        WatchpointType::U32,
        "starting address of system heap zone",
    ),
    (
        "ApplZone",
        0x02AA,
        WatchpointType::U32,
        "starting address of application heap zone",
    ),
    (
        "ROMBase",
        0x02AE,
        WatchpointType::U32,
        "base address of ROM (Trap Dispatcher)",
    ),
    (
        "RAMBase",
        0x02B2,
        WatchpointType::U32,
        "base address of RAM (Trap Dispatcher)",
    ),
    (
        "BasicGlob",
        0x02B6,
        WatchpointType::U32,
        "ptr to BASIC globals",
    ),
    (
        "DSAlertTab",
        0x02BA,
        WatchpointType::U32,
        "ptr to system error alert table in use",
    ),
    (
        "ExtStsDT",
        0x02BE,
        WatchpointType::U8,
        "External/status interrupt vector table",
    ),
    (
        "SCCASts",
        0x02CE,
        WatchpointType::U8,
        "SCC read register 0 last external/status interrupt - A",
    ),
    (
        "SCCBSts",
        0x02CF,
        WatchpointType::U8,
        "SCC read register 0 last external/status interrupt - B",
    ),
    (
        "SerialVars",
        0x02D0,
        WatchpointType::U8,
        "async driver variables (16 bytes)",
    ),
    (
        "ABusVars",
        0x02D8,
        WatchpointType::U32,
        "ptr to AppleTalk variables",
    ),
    (
        "FinderName",
        0x02E0,
        WatchpointType::String(15),
        "name of the shell, usually \"Finder\" (STRING[15])",
    ),
    (
        "DoubleTime",
        0x02F0,
        WatchpointType::U32,
        "double click interval in ticks",
    ),
    (
        "CaretTime",
        0x02F4,
        WatchpointType::U32,
        "caret blink interval in ticks",
    ),
    (
        "ScrDmpEnb",
        0x02F8,
        WatchpointType::U8,
        "screen dump enable - zero disables FKEY processing",
    ),
    (
        "ScrDmpType",
        0x02F9,
        WatchpointType::U8,
        "$FF dumps screen, $FE dumps front window (FKEY 4)",
    ),
    (
        "TagData",
        0x02FA,
        WatchpointType::U8,
        "sector tag info for disk drivers (14 bytes)",
    ),
    (
        "BufTgFNum",
        0x02FC,
        WatchpointType::U32,
        "File tags buffer: file number",
    ),
    (
        "BufTgFFlg",
        0x0300,
        WatchpointType::U16,
        "File tags buffer: flags (bit1=1 if resource fork)",
    ),
    (
        "BufTgFBkNum",
        0x0302,
        WatchpointType::U16,
        "File tags buffer: logical block number",
    ),
    (
        "BufTgDate",
        0x0304,
        WatchpointType::U32,
        "File tags buffer: last modification date/time",
    ),
    (
        "DrvQHdr",
        0x0308,
        WatchpointType::U8,
        "queue header of drives in system",
    ),
    (
        "PWMBuf2",
        0x0312,
        WatchpointType::U32,
        "ptr to PWM buffer 1 (or 2 if sound)",
    ),
    ("HpChk", 0x0316, WatchpointType::U32, "heap check RAM code"),
    (
        "MaskBC",
        0x031A,
        WatchpointType::U32,
        "Memory Manager byte count mask",
    ),
    (
        "MaskHandle",
        0x031A,
        WatchpointType::U32,
        "Memory Manager handle mask",
    ),
    (
        "MaskPtr",
        0x031A,
        WatchpointType::U32,
        "Memory Manager pointer mask",
    ),
    (
        "Lo3Bytes",
        0x031A,
        WatchpointType::U32,
        "holds the constant $00FFFFFF",
    ),
    (
        "MinStack",
        0x031E,
        WatchpointType::U32,
        "minimum stack size used in InitApplZone",
    ),
    (
        "DefltStack",
        0x0322,
        WatchpointType::U32,
        "default size of stack",
    ),
    (
        "MMDefFlags",
        0x0326,
        WatchpointType::U16,
        "default zone flags",
    ),
    (
        "GZRootHnd",
        0x0328,
        WatchpointType::U32,
        "root handle for GrowZone",
    ),
    (
        "GZRootPtr",
        0x032C,
        WatchpointType::U32,
        "root pointer for GrowZone",
    ),
    (
        "GZMoveHnd",
        0x0330,
        WatchpointType::U32,
        "moving handle for GrowZone",
    ),
    (
        "DSDrawProc",
        0x0334,
        WatchpointType::U32,
        "ptr to alternate system error draw procedure",
    ),
    (
        "EjectNotify",
        0x0338,
        WatchpointType::U32,
        "ptr to eject notify procedure",
    ),
    (
        "IAZNotify",
        0x033C,
        WatchpointType::U32,
        "ptr to world swaps notify procedure",
    ),
    (
        "FileVars",
        0x0340,
        WatchpointType::U8,
        "file system vars (184 bytes)",
    ),
    (
        "CurDB/CkdDB",
        0x0340,
        WatchpointType::U16,
        "current dir block/used for searches",
    ),
    (
        "FSCallAsync",
        0x0342,
        WatchpointType::U16,
        "\"One byte free\"",
    ),
    ("NxtDB", 0x0342, WatchpointType::U16, ""),
    ("MaxDB", 0x0344, WatchpointType::U16, ""),
    (
        "FlushOnly",
        0x0346,
        WatchpointType::U8,
        "flag used by UnMountVol and FlushVol",
    ),
    (
        "RegRsrc",
        0x0347,
        WatchpointType::U8,
        "flag used by OpenRF and FileOpen",
    ),
    (
        "FLckUnlck",
        0x0348,
        WatchpointType::U8,
        "flag used by SetFilLock and RstFilLock",
    ),
    (
        "FrcSync",
        0x0349,
        WatchpointType::U8,
        "when set, all file system calls are synchronized",
    ),
    (
        "NewMount",
        0x034A,
        WatchpointType::U8,
        "used by MountVol to flag new mounts",
    ),
    (
        "NoEject",
        0x034B,
        WatchpointType::U8,
        "used by Eject and Offline",
    ),
    (
        "DrMstrBlk",
        0x034C,
        WatchpointType::U16,
        "master directory block in a volume",
    ),
    (
        "HFSGlobals",
        0x034E,
        WatchpointType::U8,
        "HFS global variables (168 bytes)",
    ),
    (
        "FCBSPtr",
        0x034E,
        WatchpointType::U32,
        "ptr to file control block buffer",
    ),
    (
        "DefVCBPtr",
        0x0352,
        WatchpointType::U32,
        "ptr to default volume control block",
    ),
    (
        "VCBQHdr",
        0x0356,
        WatchpointType::U8,
        "volume control block queue header",
    ),
    (
        "FSQHdr",
        0x0360,
        WatchpointType::U8,
        "file I/O queue header",
    ),
    (
        "HFSVars",
        0x036A,
        WatchpointType::U8,
        "Start of TFS variables (RAM version)",
    ),
    (
        "HFSStkTop",
        0x036A,
        WatchpointType::U32,
        "Temp location of stack ptr during async calls",
    ),
    (
        "HFSStkPtr",
        0x036E,
        WatchpointType::U32,
        "Temporary location of HFS stack ptr",
    ),
    (
        "WDCBsPtr",
        0x0372,
        WatchpointType::U32,
        "Working Directory queue header",
    ),
    ("HFSFlags", 0x0376, WatchpointType::U8, "Internal HFS flags"),
    (
        "SysCRefCnt",
        0x0377,
        WatchpointType::U8,
        "system cache usage count (#of vols)",
    ),
    (
        "CacheFlag",
        0x0377,
        WatchpointType::U8,
        "system cache usage count now used as cache flag",
    ),
    (
        "SysBMCPtr",
        0x0378,
        WatchpointType::U32,
        "System-wide bitmap cache pointer",
    ),
    (
        "SysVolCPtr",
        0x037C,
        WatchpointType::U32,
        "System-wide volume cache pointer",
    ),
    (
        "SysCtlCPtr",
        0x0380,
        WatchpointType::U32,
        "System-wide control cache pointer",
    ),
    (
        "DefVRefNum",
        0x0384,
        WatchpointType::U16,
        "Default volume's VRefNum/WDRefNum",
    ),
    (
        "PMSPPtr",
        0x0386,
        WatchpointType::U32,
        "ptr to list of directories on PMSP",
    ),
    (
        "HFSDSErr",
        0x0392,
        WatchpointType::U16,
        "Final gasp - error that caused IOErr",
    ),
    (
        "HFSVarEnd",
        0x0394,
        WatchpointType::U8,
        "End of HFS variable area",
    ),
    ("CacheVars", 0x0394, WatchpointType::U32, ""),
    (
        "CurDirStore",
        0x0398,
        WatchpointType::U16,
        "ID of last directory opened",
    ),
    ("CacheCom", 0x039C, WatchpointType::U32, ""),
    (
        "ErCode",
        0x03A2,
        WatchpointType::U16,
        "report errors here during async routines",
    ),
    (
        "Params",
        0x03A4,
        WatchpointType::U8,
        "File Mgr I/O ParamBlock (50 bytes)",
    ),
    ("FSTemp8", 0x03D6, WatchpointType::U8, "used by Rename"),
    (
        "FSTemp4",
        0x03DE,
        WatchpointType::U16,
        "used by Rename and CkFilMod",
    ),
    ("FSIOErr", 0x03DE, WatchpointType::U16, "last I/O error"),
    (
        "FSQueueHook",
        0x03E2,
        WatchpointType::U32,
        "ptr to hook to capture all FS calls",
    ),
    (
        "ExtFSHook",
        0x03E6,
        WatchpointType::U32,
        "ptr to command done hook",
    ),
    (
        "DskSwtchHook",
        0x03EA,
        WatchpointType::U32,
        "ptr to hook for disk-switch dialog",
    ),
    (
        "ReqstVol",
        0x03EE,
        WatchpointType::U32,
        "ptr to offline or external file system volume VCB",
    ),
    (
        "ToExtFS",
        0x03F2,
        WatchpointType::U32,
        "ptr to external file system",
    ),
    (
        "FSVarEnd",
        0x03F6,
        WatchpointType::U8,
        "end of file system variables",
    ),
    (
        "FSFCBLen",
        0x03F6,
        WatchpointType::U16,
        "size of file control block; holds -1 on 64K ROM Macs",
    ),
    (
        "DSAlertRect",
        0x03F8,
        WatchpointType::U8,
        "rectangle for system error and disk-switch alerts",
    ),
    (
        "DispatchTab",
        0x0400,
        WatchpointType::U16,
        "OS & Toolbox trap dispatch table (64K ROM) (512 words)",
    ),
    (
        "OSDispTable",
        0x0400,
        WatchpointType::U32,
        "OS trap dispatch table(128K and later ROM) (256 longs)",
    ),
    (
        "GRAFBEGIN",
        0x0800,
        WatchpointType::U8,
        "graf (QuickDraw) global area",
    ),
    ("JHideCursor", 0x0800, WatchpointType::U32, ""),
    ("JShowCursor", 0x0804, WatchpointType::U32, ""),
    ("JShieldCursor", 0x0808, WatchpointType::U32, ""),
    ("JScrnAddr", 0x080C, WatchpointType::U32, ""),
    ("JScrnSize", 0x0810, WatchpointType::U32, ""),
    ("JInitCrsr", 0x0814, WatchpointType::U32, ""),
    ("JSetCrsr", 0x0818, WatchpointType::U32, ""),
    ("JCrsrObscure", 0x081C, WatchpointType::U32, ""),
    ("JUpdateProc", 0x0820, WatchpointType::U32, ""),
    ("LGrafJump", 0x0824, WatchpointType::U32, ""),
    (
        "GrafVar",
        0x0824,
        WatchpointType::U32,
        "QuickDraw variables",
    ),
    (
        "ScrnBase",
        0x0824,
        WatchpointType::U32,
        "base address of main screen",
    ),
    (
        "MTemp",
        0x0828,
        WatchpointType::U32,
        "low-level interrupt mouse location",
    ),
    (
        "RawMouse",
        0x082C,
        WatchpointType::U32,
        "un-jerked mouse coordinates",
    ),
    (
        "NMouse",
        0x0830,
        WatchpointType::U32,
        "processed mouse coordinate",
    ),
    (
        "CrsrPin",
        0x0834,
        WatchpointType::U32,
        "cursor pinning rectangle",
    ),
    (
        "CrsrRect",
        0x083C,
        WatchpointType::U32,
        "cursor hit rectangle",
    ),
    (
        "TheCrsr",
        0x0844,
        WatchpointType::U8,
        "cursor data, mask & hotspot",
    ),
    (
        "CrsrAddr",
        0x0888,
        WatchpointType::U32,
        "address of data under cursor",
    ),
    (
        "CrsrSave",
        0x088C,
        WatchpointType::U8,
        "data under the cursor [64K ROM only]",
    ),
    (
        "CrsrSave",
        0x088C,
        WatchpointType::U32,
        "ptr to data under the cursor",
    ),
    (
        "MainDevice",
        0x08A4,
        WatchpointType::U32,
        "handle to current main device",
    ),
    (
        "DeviceList",
        0x08A8,
        WatchpointType::U32,
        "handle to first element in device list",
    ),
    (
        "QDColors",
        0x08B0,
        WatchpointType::U8,
        "default QuickDraw colors",
    ),
    ("CrsrVis", 0x08CC, WatchpointType::U8, "cursor visible?"),
    ("CrsrBusy", 0x08CD, WatchpointType::U8, "cursor locked out?"),
    ("CrsrNew", 0x08CE, WatchpointType::U8, "cursor changed?"),
    (
        "CrsrCouple",
        0x08CF,
        WatchpointType::U8,
        "cursor coupled to mouse?",
    ),
    (
        "CrsrState",
        0x08D0,
        WatchpointType::U16,
        "cursor nesting level",
    ),
    (
        "CrsrObscure",
        0x08D2,
        WatchpointType::U8,
        "Cursor obscure semaphore",
    ),
    ("CrsrScale", 0x08D3, WatchpointType::U8, "cursor scaled?"),
    (
        "MouseMask",
        0x08D6,
        WatchpointType::U32,
        "V-H mask for ANDing with mouse",
    ),
    (
        "MouseOffset",
        0x08DA,
        WatchpointType::U32,
        "V-H offset for adding after ANDing",
    ),
    (
        "JournalFlag",
        0x08DE,
        WatchpointType::U16,
        "journaling state",
    ),
    (
        "JSwapFont",
        0x08E0,
        WatchpointType::U32,
        "jump entry for FMSwapFont",
    ),
    (
        "JFontInfo",
        0x08E4,
        WatchpointType::U32,
        "jump entry for FMFontMetrics",
    ),
    (
        "WidthListHand",
        0x08E4,
        WatchpointType::U32,
        "handle to a list of handles of recently-used width tables",
    ),
    (
        "JournalRef",
        0x08E8,
        WatchpointType::U16,
        "Journalling driver's refnum",
    ),
    (
        "CrsrThresh",
        0x08EC,
        WatchpointType::U16,
        "delta threshold for mouse scaling",
    ),
    (
        "JCrsrTask",
        0x08EE,
        WatchpointType::U32,
        "address of CrsrVBLTask",
    ),
    (
        "GRAFEND",
        0x08F2,
        WatchpointType::U8,
        "End of graphics globals",
    ),
    (
        "WWExist",
        0x08F2,
        WatchpointType::U8,
        "window manager initialized?",
    ),
    (
        "DExist",
        0x08F3,
        WatchpointType::U8,
        "QuickDraw is initialized",
    ),
    (
        "JFetch",
        0x08F4,
        WatchpointType::U32,
        "ptr to fetch-a-byte routine for drivers",
    ),
    (
        "JStash",
        0x08F8,
        WatchpointType::U32,
        "ptr to stash-a-byte routine for drivers",
    ),
    (
        "JIODone",
        0x08FC,
        WatchpointType::U32,
        "ptr to IODone routine for drivers",
    ),
    (
        "LoadVars",
        0x0900,
        WatchpointType::U8,
        "Segment Loader variables (68 bytes)",
    ),
    (
        "CurApRefNum",
        0x0900,
        WatchpointType::U16,
        "refNum of current application's resFile",
    ),
    (
        "LaunchFlag",
        0x0902,
        WatchpointType::U8,
        "Tells whether Launch or Chain was last called",
    ),
    (
        "CurrentA5",
        0x0904,
        WatchpointType::U32,
        "current value of register A5",
    ),
    (
        "CurStackBase",
        0x0908,
        WatchpointType::U32,
        "ptr to the base (beginning) of the stack",
    ),
    (
        "CurApName",
        0x0910,
        WatchpointType::String(31),
        "name of current application (STRING[31])",
    ),
    (
        "SaveSegHandle",
        0x0930,
        WatchpointType::U32,
        "handle to segment 0 (CODE 0)",
    ),
    (
        "CurJTOffset",
        0x0934,
        WatchpointType::U16,
        "current jump table offset from register A5",
    ),
    (
        "CurPageOption",
        0x0936,
        WatchpointType::U16,
        "current page 2 configuration (screen/sound buffers)",
    ),
    (
        "HiliteMode",
        0x0938,
        WatchpointType::U16,
        "set to -1 if hilighting mode is on, 0 otherwise",
    ),
    (
        "LoaderPBlock",
        0x093A,
        WatchpointType::U8,
        "param block for ExitToShell",
    ),
    (
        "PrintVars",
        0x0944,
        WatchpointType::U8,
        "print code variables",
    ),
    (
        "LastLGlobal",
        0x0944,
        WatchpointType::U32,
        "address past last loader global",
    ),
    (
        "PrintErr",
        0x0944,
        WatchpointType::U16,
        "Print Manager error code",
    ),
    (
        "CoreEditVars",
        0x0954,
        WatchpointType::U8,
        "core edit variables",
    ),
    (
        "LastPGlobal",
        0x0954,
        WatchpointType::U32,
        "address of last printer global",
    ),
    (
        "scrapVars",
        0x0960,
        WatchpointType::U8,
        "Scrap Manager variables (32 bytes)",
    ),
    ("scrapInfo", 0x0960, WatchpointType::U32, "scrap length"),
    ("scrapSize", 0x0960, WatchpointType::U32, "scrap length"),
    (
        "scrapHandle",
        0x0964,
        WatchpointType::U32,
        "handle to RAM scrap",
    ),
    (
        "scrapCount",
        0x0968,
        WatchpointType::U16,
        "count changed by ZeroScrap",
    ),
    (
        "scrapState",
        0x096A,
        WatchpointType::U16,
        "scrap state: tells if scrap exists in RAM or on disk",
    ),
    (
        "scrapName",
        0x096C,
        WatchpointType::U32,
        "pointer to scrap file name (normally \"Clipboard File\")",
    ),
    (
        "scrapTag",
        0x0970,
        WatchpointType::String(15),
        "scrap file name (STRING[15])",
    ),
    ("scrapEnd", 0x0980, WatchpointType::U8, "End of scrap vars"),
    (
        "ToolGBase",
        0x0980,
        WatchpointType::U32,
        "base address of toolbox globals",
    ),
    ("ToolVars", 0x0980, WatchpointType::U32, "toolbox variables"),
    (
        "RomFont0",
        0x0980,
        WatchpointType::U32,
        "handle to system font",
    ),
    (
        "ApFontID",
        0x0984,
        WatchpointType::U16,
        "resource ID of application font",
    ),
    (
        "ApFontID",
        0x0984,
        WatchpointType::U16,
        "font number of application font",
    ),
    (
        "GotStrike",
        0x0986,
        WatchpointType::U8,
        "Do we have the strike?",
    ),
    ("FMDefaultSize", 0x0987, WatchpointType::U8, "default size"),
    (
        "CurFMInput",
        0x0988,
        WatchpointType::U32,
        "ptr to QuickDraw FMInput record",
    ),
    (
        "CurFMFamily",
        0x0988,
        WatchpointType::U16,
        "current font family",
    ),
    (
        "CurFMSize",
        0x098A,
        WatchpointType::U16,
        "current font size",
    ),
    ("CurFMFace", 0x098C, WatchpointType::U8, "current font face"),
    (
        "CurFMNeedBits",
        0x098D,
        WatchpointType::U8,
        "boolean telling whether it needs strike",
    ),
    (
        "CurFMDevice",
        0x098E,
        WatchpointType::U16,
        "current font device",
    ),
    (
        "CurFMNumer",
        0x0990,
        WatchpointType::U32,
        "current numerator of scale factor",
    ),
    (
        "CurFMDenom",
        0x0994,
        WatchpointType::U32,
        "current denominator of scale factor",
    ),
    (
        "FMgrOutRec",
        0x0998,
        WatchpointType::U32,
        "ptr to QuickDraw FontOutput record",
    ),
    (
        "FOutError",
        0x0998,
        WatchpointType::U16,
        "Font Manager error code",
    ),
    (
        "TFOutFontHandle",
        0x099A,
        WatchpointType::U32,
        "handle to font bits",
    ),
    ("FOutBold", 0x099E, WatchpointType::U8, "bolding factor"),
    ("FOutItalic", 0x099F, WatchpointType::U8, "italic factor"),
    (
        "FOutULOffset",
        0x09A0,
        WatchpointType::U8,
        "underline offset",
    ),
    ("FOutULShadow", 0x09A1, WatchpointType::U8, "underline halo"),
    (
        "FOutULThick",
        0x09A2,
        WatchpointType::U8,
        "underline thickness",
    ),
    ("FOutShadow", 0x09A3, WatchpointType::U8, "shadow factor"),
    (
        "FOutExtra",
        0x09A4,
        WatchpointType::U8,
        "extra horizontal width",
    ),
    (
        "FOutAscent",
        0x09A5,
        WatchpointType::U8,
        "height above baseline",
    ),
    (
        "FOutDescent",
        0x09A6,
        WatchpointType::U8,
        "height below baseline",
    ),
    (
        "FOutWidMax",
        0x09A7,
        WatchpointType::U8,
        "maximum width of character",
    ),
    (
        "FOutLeading",
        0x09A8,
        WatchpointType::U8,
        "space between lines",
    ),
    (
        "FOutUnused",
        0x09A9,
        WatchpointType::U8,
        "unused (padding) byte -must have even number",
    ),
    (
        "FOutNumer",
        0x09AA,
        WatchpointType::U32,
        "point for numerators of scale factor",
    ),
    (
        "FOutDenom",
        0x09AE,
        WatchpointType::U32,
        "point for denominators of scale factor",
    ),
    (
        "FMDotsPerInch",
        0x09B2,
        WatchpointType::U32,
        "h,v dotsPerInch (resolution) of current device",
    ),
    (
        "FMStyleTab",
        0x09B6,
        WatchpointType::U8,
        "style heuristic table given by device (24 bytes)",
    ),
    (
        "ToolScratch",
        0x09CE,
        WatchpointType::U8,
        "scratch area (8 bytes)",
    ),
    (
        "WindowList",
        0x09D6,
        WatchpointType::U32,
        "ptr to Z-ordered linked list of windows",
    ),
    (
        "SaveUpdate",
        0x09DA,
        WatchpointType::U16,
        "Enable update events?",
    ),
    (
        "PaintWhite",
        0x09DC,
        WatchpointType::U16,
        "erase windows before update event?",
    ),
    (
        "WMgrPort",
        0x09DE,
        WatchpointType::U32,
        "ptr to window manager's grafport",
    ),
    (
        "DeskPort",
        0x09E2,
        WatchpointType::U32,
        "ptr to Desk grafPort (Whole screen)",
    ),
    (
        "OldStructure",
        0x09E6,
        WatchpointType::U32,
        "handle to saved structure region",
    ),
    (
        "OldContent",
        0x09EA,
        WatchpointType::U32,
        "handle to saved content region",
    ),
    (
        "GrayRgn",
        0x09EE,
        WatchpointType::U32,
        "handle to rounded-corner region drawn as the desktop",
    ),
    (
        "SaveVisRgn",
        0x09F2,
        WatchpointType::U32,
        "handle to temporarily saved visRegion",
    ),
    (
        "DragHook",
        0x09F6,
        WatchpointType::U32,
        "ptr to user hook called during dragging",
    ),
    (
        "scratch8",
        0x09FA,
        WatchpointType::U8,
        "general scratch area (8 bytes)",
    ),
    (
        "TempRect",
        0x09FA,
        WatchpointType::U8,
        "scratch rectangle (8 bytes)",
    ),
    (
        "OneOne",
        0x0A02,
        WatchpointType::U32,
        "holds the constant $00010001",
    ),
    (
        "MinusOne",
        0x0A06,
        WatchpointType::U32,
        "holds the constant $FFFFFFFF",
    ),
    (
        "TopMenuItem",
        0x0A0A,
        WatchpointType::U16,
        "pixel value of top of scrollable menu",
    ),
    (
        "AtMenuBottom",
        0x0A0C,
        WatchpointType::U16,
        "flag for menu scrolling",
    ),
    (
        "IconBitmap",
        0x0A0E,
        WatchpointType::U8,
        "scratch bitmap used for plotting things (14 bytes)",
    ),
    (
        "MenuList",
        0x0A1C,
        WatchpointType::U32,
        "handle to current menuBar list structure",
    ),
    (
        "MBarEnable",
        0x0A20,
        WatchpointType::U16,
        "menuBar enable for desk acc's that own the menu bar",
    ),
    (
        "CurDeKind",
        0x0A22,
        WatchpointType::U16,
        "window kind of deactivated window",
    ),
    (
        "MenuFlash",
        0x0A24,
        WatchpointType::U16,
        "flash feedback count",
    ),
    (
        "TheMenu",
        0x0A26,
        WatchpointType::U16,
        "resource ID of hilited menu",
    ),
    (
        "SavedHandle",
        0x0A28,
        WatchpointType::U32,
        "handle to data under a menu",
    ),
    (
        "MrMacHook",
        0x0A2C,
        WatchpointType::U32,
        "Mr. Macintosh hook",
    ),
    (
        "MBarHook",
        0x0A2C,
        WatchpointType::U32,
        "ptr to MenuSelect hook called before menu is drawn",
    ),
    (
        "MenuHook",
        0x0A30,
        WatchpointType::U32,
        "ptr to user hook called during MenuSelect",
    ),
    (
        "DragPattern",
        0x0A34,
        WatchpointType::U8,
        "pattern used to draw outlines of dragged regions (8 bytes)",
    ),
    (
        "DeskPattern",
        0x0A3C,
        WatchpointType::U8,
        "pattern used for the desktop (8 bytes)",
    ),
    (
        "DragFlag",
        0x0A44,
        WatchpointType::U16,
        "implicit parameter to DragControl",
    ),
    (
        "CurDragAction",
        0x0A46,
        WatchpointType::U32,
        "ptr to implicit actionProc for dragControl",
    ),
    (
        "FPState",
        0x0A4A,
        WatchpointType::U8,
        "floating point state (6 bytes)",
    ),
    (
        "TopMapHndl",
        0x0A50,
        WatchpointType::U32,
        "handle to map of most recently opened resource file",
    ),
    (
        "SysMapHndl",
        0x0A54,
        WatchpointType::U32,
        "handle to map of System resourc file",
    ),
    (
        "SysMap",
        0x0A58,
        WatchpointType::U16,
        "reference number of System resource file",
    ),
    (
        "CurMap",
        0x0A5A,
        WatchpointType::U16,
        "reference number of current resource file",
    ),
    ("ResReadOnly", 0x0A5C, WatchpointType::U16, "Read-only flag"),
    ("ResLoad", 0x0A5E, WatchpointType::U16, "Auto-load feature"),
    (
        "ResErr",
        0x0A60,
        WatchpointType::U16,
        "Resource Manager error code",
    ),
    (
        "TaskLock",
        0x0A62,
        WatchpointType::U8,
        "re-entering SystemTask",
    ),
    (
        "FScaleDisable",
        0x0A63,
        WatchpointType::U8,
        "disable font scaling?",
    ),
    (
        "CurActivate",
        0x0A64,
        WatchpointType::U32,
        "ptr to window slated for activate event",
    ),
    (
        "CurDeactive",
        0x0A68,
        WatchpointType::U32,
        "ptr to window slated for deactivate event",
    ),
    (
        "DeskHook",
        0x0A6C,
        WatchpointType::U32,
        "ptr to hook for painting the desk",
    ),
    (
        "TEDoText",
        0x0A70,
        WatchpointType::U32,
        "ptr to textEdit doText proc hook",
    ),
    (
        "TERecal",
        0x0A74,
        WatchpointType::U32,
        "ptr to textEdit recalText proc hook",
    ),
    (
        "MicroSoft",
        0x0A78,
        WatchpointType::U8,
        "ApplScratch - for Seattle font (12 bytes)",
    ),
    (
        "ApplScratch",
        0x0A78,
        WatchpointType::U8,
        "application scratch area (12 bytes)",
    ),
    (
        "GhostWindow",
        0x0A84,
        WatchpointType::U32,
        "ptr to window never to be considered frontmost",
    ),
    (
        "CloseOrnHook",
        0x0A88,
        WatchpointType::U32,
        "ptr to hook for closing desk ornaments",
    ),
    (
        "ResumeProc",
        0x0A8C,
        WatchpointType::U32,
        "ptr to Resume procedure (System error dialog)",
    ),
    (
        "SaveProc",
        0x0A90,
        WatchpointType::U32,
        "address of Save failsafe procedure",
    ),
    (
        "SaveSP",
        0x0A94,
        WatchpointType::U32,
        "Safe stack ptr for restart or save",
    ),
    (
        "ANumber",
        0x0A98,
        WatchpointType::U16,
        "resID of last alert",
    ),
    (
        "ACount",
        0x0A9A,
        WatchpointType::U16,
        "number of times last alert was called (0 through 3)",
    ),
    (
        "DABeeper",
        0x0A9C,
        WatchpointType::U32,
        "ptr to current beep routine",
    ),
    (
        "DAStrings",
        0x0AA0,
        WatchpointType::U32,
        "paramText substitution strings (4 handles)",
    ),
    (
        "TEScrpLengt",
        0x0AB0,
        WatchpointType::U32,
        "textEdit Scrap Length",
    ),
    (
        "TEScrpHandl",
        0x0AB4,
        WatchpointType::U32,
        "handle to textEdit Scrap",
    ),
    (
        "AppPacks",
        0x0AB8,
        WatchpointType::U32,
        "Handles to PACK resources (ID's from 0 to 7) (8 longs)",
    ),
    (
        "SysResName",
        0x0AD8,
        WatchpointType::String(19),
        "name of system resource file (STRING[19])",
    ),
    (
        "AppParmHandle",
        0x0AEC,
        WatchpointType::U32,
        "handle to hold application parameters",
    ),
    (
        "DSErrCode",
        0x0AF0,
        WatchpointType::U16,
        "last (or current) system error alert ID",
    ),
    (
        "ResErrProc",
        0x0AF2,
        WatchpointType::U32,
        "ptr to Resource Manager error procedure",
    ),
    (
        "TEWdBreak",
        0x0AF6,
        WatchpointType::U32,
        "ptr to default WatchpointType::U16 break routine",
    ),
    (
        "DlgFont",
        0x0AFA,
        WatchpointType::U16,
        "current font number for dialogs and alerts",
    ),
    (
        "LastTGLobal",
        0x0AFC,
        WatchpointType::U32,
        "address of last global",
    ),
];
